package com.alks.entity.data.entity;

import com.alks.entity.deserializer.LocalDateTimeDeserialize;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author ms
 * @since 2024-08-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("PC_OME_LOT_HEAD")
@ApiModel(value="PcOmeLotHead对象", description="")
public class PcOmeLotHead implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "UUID", type = IdType.AUTO)
    private String uuid;

    @ApiModelProperty(value = "OEM工厂编号")
    private String vendorNo;

    @ApiModelProperty(value = "工厂名称")
    private String vendorAbbr;

    @JsonDeserialize(using = LocalDateTimeDeserialize.class)
    @ApiModelProperty(value = "客户下单时间")
    private LocalDateTime customOrderDate;

    @JsonDeserialize(using = LocalDateTimeDeserialize.class)
    @ApiModelProperty(value = "预计生产时间")
    private LocalDateTime predicProdDate;

    @ApiModelProperty(value = "季节")
    private String season;

    @ApiModelProperty(value = "订单类型(新款, 旧款)")
    private String orderType;

    @ApiModelProperty(value = "工厂合同号")
    private String factoryContractNo;

    @ApiModelProperty(value = "客人PI号")
    private String customPiNo;

    @ApiModelProperty(value = "指令号")
    private String lotNo;

    @ApiModelProperty(value = "工厂指令号")
    private String factoryLotNo;

    @ApiModelProperty(value = "型体号")
    private String styleNo;

    @ApiModelProperty(value = "型体颜色")
    private String styleColor;

    @ApiModelProperty(value = "订单数")
    private BigDecimal orderQty;

    @JsonDeserialize(using = LocalDateTimeDeserialize.class)
    @ApiModelProperty(value = "交期")
    private LocalDateTime deliveryDate;

    @ApiModelProperty(value = "是否冲刀试做")
    private String cutSample;

    @ApiModelProperty(value = "产前样")
    private String antenatalSample;

    @ApiModelProperty(value = "试穿样")
    private String tryOnSample;

    @ApiModelProperty(value = "测试样")
    private String testSample;

    @ApiModelProperty(value = "cfs样")
    private String cfsSample;

    @ApiModelProperty(value = "原材料")
    private String rawMaterial;

    @ApiModelProperty(value = "鞋带")
    private String shoelace;

    @ApiModelProperty(value = "冲裁完成量")
    private BigDecimal cutQty;

    @ApiModelProperty(value = "工艺完成量")
    private BigDecimal craftQty;

    @ApiModelProperty(value = "配套完成量")
    private BigDecimal matchQty;

    @ApiModelProperty(value = "针车完成量")
    private BigDecimal stitchQty;

    @ApiModelProperty(value = "大底完成量")
    private BigDecimal outSoleQty;

    @ApiModelProperty(value = "鞋垫完成量")
    private BigDecimal insoleQty;

    @ApiModelProperty(value = "成型完成量")
    private BigDecimal finishQty;

    @ApiModelProperty(value = "备注")
    private String remark;

    @JsonDeserialize(using = LocalDateTimeDeserialize.class)
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createDate;

    @ApiModelProperty(value = "创建者ID")
    private BigDecimal createUserId;

    @ApiModelProperty(value = "创建者名字")
    private String createUserName;

    @ApiModelProperty(value = "品牌")
    private String brand;

    @ApiModelProperty(value = "公司ID")
    private String companyId;

    @ApiModelProperty(value = "是否结案标识")
    private String complete;

    @ApiModelProperty(value = "客人单价")
    private BigDecimal custPrice;

    @ApiModelProperty(value = "工厂单价")
    private BigDecimal factoryPrice;

    @ApiModelProperty(value = "客人币种")
    private String custCur;

    @ApiModelProperty(value = "工厂币种")
    private String factoryCur;


}
